import { ComputedRef, Ref } from "vue";
import { ItemType } from "../components/types";
export interface UseClassName {
    startTransitionClassName: ComputedRef<string>;
    checkedClassName: (key: number) => string;
}

export interface UseStyleVariable {
    styleVariable: ComputedRef<string>;
    itemStyleVariable: (index: number) => Record<string, number>;
}

export interface UseDomChange {
    coverWidth: Ref<number | string>;
    contentWidth: Ref<string>;
}

export interface UseEvents {
    onClickItem: (item: ItemType, key: number) => void;
}

export interface itemRenderMethods {
    onClickItem: UseEvents['onClickItem'],
    checkedClassName: UseClassName['checkedClassName'],
    itemStyleVariable: UseStyleVariable['itemStyleVariable']
}